home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Monster2.cpp < prev    next >
C/C++ Source or Header  |  1999-01-16  |  3KB  |  89 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Monster2.h"
  6. //---------------------------------------------------------------------------
  7. #pragma resource "*.dfm"
  8.  
  9. class TMonster
  10. {
  11. private:
  12.   String Name;
  13.   String Wesen;
  14. public:
  15.   void Erscheinen(void);
  16.   virtual String Typ (void) {return "Monster";};
  17.   TMonster (String N, String W);
  18. };
  19.  
  20. class TGMonster : public TMonster
  21. {
  22. public:
  23.   virtual String Typ (void) {return "GeistesMonster";};
  24.   TGMonster (String N, String W);
  25. };
  26.  
  27. class TSMonster : public TMonster
  28. {
  29. public:
  30.   virtual String Typ (void) {return "SeelenMonster";};
  31.   TSMonster (String N, String W);
  32. };
  33.  
  34. //---------------------------------------------------------------------------
  35.  
  36. TMonster  *Frank;   // Ganz der Vater?
  37. TGMonster *Albert;  // Etwa Einstein?
  38. TSMonster *Sigmund; // Doch nicht Freud?
  39. TForm1 *Form1;
  40.  
  41. //---------------------------------------------------------------------------
  42. __fastcall TForm1::TForm1(TComponent* Owner)
  43.     : TForm(Owner)
  44. {
  45. }
  46. //---------------------------------------------------------------------------
  47. TMonster::TMonster (String N, String W)
  48. {
  49.   Name = N; Wesen = W;
  50. }
  51. //---------------------------------------------------------------------------
  52. TGMonster::TGMonster (String N, String W) : TMonster (N, W)
  53. {
  54. }
  55. //---------------------------------------------------------------------------
  56. TSMonster::TSMonster (String N, String W) : TMonster (N, W)
  57. {
  58. }
  59. //---------------------------------------------------------------------------
  60. void TMonster::Erscheinen (void)
  61. {
  62.   Form1->Label1->Caption = "Name:    " + Name;
  63.   Form1->Label2->Caption = "Wesen:    " + Wesen;
  64.   Form1->Label3->Caption = "Typ:    " + Typ();
  65. }
  66. //---------------------------------------------------------------------------
  67. void __fastcall TForm1::FormCreate(TObject *Sender)
  68. {
  69.   Frank   = new TMonster  ("Frankie", "ungew÷hnlich");
  70.   Albert  = new TGMonster ("Berti", "nachdenklich");
  71.   Sigmund = new TSMonster ("Sigi", "mitfⁿhlend");
  72. }
  73. //---------------------------------------------------------------------------
  74. void __fastcall TForm1::Button1Click(TObject *Sender)
  75. {
  76.   Frank->Erscheinen ();
  77. }
  78. //---------------------------------------------------------------------------
  79. void __fastcall TForm1::Button2Click(TObject *Sender)
  80. {
  81.   Albert->Erscheinen ();
  82. }
  83. //---------------------------------------------------------------------------
  84. void __fastcall TForm1::Button3Click(TObject *Sender)
  85. {
  86.   Sigmund->Erscheinen ();
  87. }
  88. //---------------------------------------------------------------------------
  89.